public class extendsTest {
    public static void main(String args[]) {
        // 实例化一个Cat对象，设置属性name和age，调用voice()和eat()方法，再打印出名字和年龄信息
        /********* begin *********/
        Cat c = new Cat();
        c.setName("大花猫");
        c.setAge(6);
        c.voice();
        c.eat();
        c.check();
        /********* end *********/

        // 实例化一个Dog对象，设置属性name和age，调用voice()和eat()方法，再打印出名字和年龄信息
        /********* begin *********/
        Dog d = new Dog();
        d.setName("大黑狗");
        d.setAge(8);
        d.voice();
        d.eat();
        d.check();
        /********* end *********/

    }
}

class Animal {
    /********* begin *********/
    private String name;
    private int age;
    Animal(){

    }
    public int getAge(){
        return this.age;
    }
    public int setAge(int a){
        this.age = a;
    }
    public String getName(){
        return this.name;
    }
    public String setName(String n){
        this.name = n;
    }
    public void check(){
        System.out.println(this.name+this.age+"岁");
    }
    /********* end *********/

}

class Cat extends Animal {
    // 定义Cat类的voice()和eat()方法
    /********* begin *********/
    Cat(){
        super();
    }
    public void voice(){
        System.out.println(this.name+"喵喵叫");
    }
    public void eat(){
        System.out.println(this.name+"吃鱼");
    }
    /********* end *********/
}

class Dog extends Animal {
    // 定义Dog类的voice()和eat()方法
    /********* begin *********/
    Dog(){
        super();
    }
    public void voice(){
        System.out.println(this.name+"汪汪叫");
    }
    public void eat(){
        System.out.println(this.name+"吃骨头");
    }
    /********* end *********/
}
